
#ifndef COORD_CONV_H
#define COORD_CONV_H

#include <stdio.h>

typedef int (*coord_conv_func)(double , double , double *, double *, void *);

typedef struct _coord_conv_struct {
  coord_conv_func func;
  void * data;
  void (*data_destr)(void *);
} coord_conv_struct;

coord_conv_struct *coord_conv_struct_new(coord_conv_func func, 
					 void *data, void (*data_destr)(void *));

void coord_conv_struct_free(void *o);

int
fk5_gal(double ra, double dec, double *l, double *b);

int
gal_fk5(double l, double b, double *ra, double *dec);

int
fk4_gal(double ra, double dec, double *l, double *b);


int
gal_fk4(double l, double b, double *ra, double *dec);

int
fk5_fk4(double ra, double dec, double *l, double *b);

int
fk4_fk5(double l, double b, double *ra, double *dec);

#endif
